﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WPFSchematics.Definition.Entities;
using System.Windows;


namespace WPFSchematics.Definition.Shapes
{
    /// <summary>
    /// 节点，也是端子容器，用于通过所属。
    /// </summary>
    public interface IShapeLayoutNode:IShapeRectangle
    {
        /// <summary>
        /// 是否微调端子内节点位置。
        /// </summary>
        bool IsTuning { set; get; }
        /// <summary>
        /// 弹性布局参数。
        /// </summary>
        Point Delta { get; set; }
        /// <summary>
        /// 弹性布局参数。
        /// </summary>
        Point Rate { get; set; }
        /// <summary>
        /// 所属边集合。
        /// </summary>
        List<IShapeLayoutEdge> ShapeEdges { get; }
        /// <summary>
        /// 移动到绝对位置。
        /// </summary>
        /// <param name="targetPoint">绝对位置坐标。</param>
        void MoveTo(Point targetPoint);
    }
}
